import { jwtConfig } from '../config/database.js';

// 简单的token验证中间件（实际项目中应该使用JWT）
export const authenticateToken = (req, res, next) => {
  const token = req.headers.authorization?.replace('Bearer ', '');
  
  if (!token) {
    return res.status(401).json({ error: '未提供认证令牌' });
  }

  try {
    // 简单的token验证（实际应该使用JWT验证）
    const userId = parseInt(token.replace('mock-jwt-token-', ''));
    if (isNaN(userId)) {
      return res.status(401).json({ error: '无效的认证令牌' });
    }
    
    req.userId = userId;
    next();
  } catch (error) {
    return res.status(401).json({ error: '无效的认证令牌' });
  }
};

// 角色验证中间件
export const requireRole = (roles) => {
  return (req, res, next) => {
    // 这里需要从数据库获取用户角色信息
    // 简化实现，实际项目中应该查询数据库
    if (!roles.includes('user')) { // 简化处理
      return res.status(403).json({ error: '权限不足' });
    }
    next();
  };
};